home *** CD-ROM | disk | FTP | other *** search
-
- MENSAJES MIDI DE CANAL Y DE SISTEMA: Cada mensaje MIDI está
- compuesto por un byte de estado y posiblemente algunos bytes
- de datos. Los bytes de estado son números binarios de 8 bits
- cuyo bit más significativo (MSB) está a 1. Un byte de estado
- identifica el tipo de mensaje y de ese modo determina los
- bytes de datos que le seguirán. La llegada de un nuevo byte
- de estado adquiere prioridad inmediata y ordena al receptor
- que adopte el nuevo estado, incluso aunque el último mensaje
- no haya terminado. Los bytes de datos son números binarios de
- 8 bits en los que el MSB está a 0. Los receptores ignorarán
- los bytes de datos que no vayan precedidos por un byte de
- estado válido y no actuarán sobre el mensaje hasta que no
- llegue el número correcto de bytes de datos. Igual que antes,
- si llega otro byte de estado antes que todos los bytes de
- datos, el mensaje que queda pendiente será ignorado. Hay dos
- tipos de mensajes MIDI: de canal y de sistema. Los mensajes
- de canal envían un comando a un canal específico. Los 4 bits
- de más significados del mensaje definen el comando, y los 4
- bits inferiores especifican el número de canal. Los mensajes
- de canal se dividen en mensajes de voz, que son comandos para
- hacer algo, y mensajes de modo, que controlan cómo responde
- el dispositivo a los mensajes de voz. Los mensajes de voz se
- generan cuando se toca un instrumento MIDI. Cada mensaje
- consta de un byte de estado seguido de uno o dos bytes de
- datos. El mensaje específico determina el número de bytes de
- datos. Hay 7 mensajes de voz reconocidos:
-
- -Los mensajes Note On (nota pulsada) y Note Off (nota
- liberada): indican el inicio y fin de una nota.
-
- -Los mensajes Polyphonic Key Pressure (presión de tecla
- polifónica): indican la presión que se aplica a una
- tecla.
-
- -Los mensajes Channel Pressure (presión del canal):
- reflejan la presión adicional aplicada mientras se
- pulsa una tecla. Este mensaje representa un único valor
- de presión para el canal. Difiere de la presión
- polifónica en que se genera un mensaje sin tener en
- cuenta el número de teclas pulsadas.
-
- -Los mensajes Control Change (cambio de control):
- responden al control en tiempo real aplicado a un
- instrumento, como cuando se utiliza el pedal de pie, la
- rueda de modulación o el controlador de aire.
-
- -Los mensajes Pitch Bend Change (cambio de desviación
- del tono): indican cuando se ha movido la palanca o
- rueda del desviador de tono de un sintetizador para
- aumentar o disminuir el tono de un sonido.
-
- -Un mensaje Program Change (cambio de programa)
- especifica mediante un número cual es el sonido ya
- creado con anterioridad que el canal debe reproducir.
- Como solo contiene un número, el mismo mensaje puede
- producir un sonido distinto desde distintos
- dispositivos.
-
- Si el instrumento que genera los mensajes de voz está
- conectado a otro dispositivo MIDI configurado para
- recibirlos, el instrumento receptor responderá como si él
- mismo hubiera estado reproduciendo directamente. Se puede
- seleccionar el tipo de respuesta a los mensajes de voz para
- los dispositivos receptor y transmisor seleccionando un modo
- de funcionamiento para el canal. Los mensajes de sistema
- controlan el sistema completo, no solamente los dispositivos
- de un canal específico. Los mensajes de sistema se dividen
- en: mensajes Common (comunes), a los que responden los
- dispositivos; mensajes Real-Time (en tiempo real) que se
- utilizan principalmente para la sincronización, y los
- mensajes System Exclusive (exclusivos del sistema),
- destinados a dispositivos MIDI de una determinada marca.
-
- Un mensaje System Common va dirigido a todos los dispositivos
- del sistema (aquellos que no pueden responderlo lo ignoran).
- Los mensajes System Common son MIDI Time Code, que se
- utilizan para sincronización; Song Position Pointer, que
- marca una posición determinada dentro de una secuencia MIDI;
- Song Select (selección de melodía), que activa una melodía
- (secuencia de tonos) preseleccionada desde un secuenciador o
- una máquina de percusión; Tune Request (petición de ajuste),
- que instruye a los dispositivos del sistema para que realicen
- sus rutinas de ajuste sobre la marcha, y End Of Exclusive
- (fin de exclusivo), que marca el final de un mensaje System
- Exclusive. Dependiendo de su tipo, un mensaje System Common
- puede tener 0,1 ó 2 bytes de datos. Los mensajes System
- Real-Time se envían también a todos los dispositivos del
- sistema. No hay bytes de datos asociados al byte de estado
- de estos mensajes, y pueden enviarse en cualquier momento
- (incluso entre los bytes de datos de un mensaje distinto).
- Los mensajes Real-Time son Timing Clock (reloj temporizador)
- que se transmiten 24 veces por cuarta; Start Stop y Continue,
- que se activan cuando se pulsa el botón correspondiente del
- dispositivo principal; Active Sensing (detección de
- actividad), que se utiliza para asegurar de que el
- dispositivo está todavía conectado, y System Reset
- (reinicialización del sistema), que indica a cada dispositivo
- que vuelva a sus valores iniciales. Los mensajes System
- Exclusive (SysEx) están destinados a una marca específica de
- sintetizador u otro dispositivo MIDI. Tales mensajes
- empiezan con el byte de estado SysEx (F0H), que va seguido de
- un byte que identifica concretamente la marca del material.
- Después va cualquier número de byte de datos, terminando con
- un mensaje End Of Exclusive u otro byte de estado.
- Los instrumentos que no se ajustan al identificador del
- dispositivo ignoran el mensaje SysEx.
-
- Un flujo normal de mensajes de voz MIDI consiste en una serie
- de bytes de estado seguidos de sus bytes de datos. La mayoría
- de dichos bytes de estado serán mensajes Note On. El primer
- byte de datos de un mensaje Note On especifica el tono (el
- número de nota), el segundo byte de datos indica la velocidad
- (la amplitud de la nota). Un Note On con una velocidad 0 es
- equivalente a un Note Off, por ello este último mensaje se
- utiliza raramente.
-
- FORMATO DE FICHERO ESTANDAR MIDI: En 1988 el formato SMF
- (Standard Midi File: fichero estándar MIDI), desarrollado por
- Dave Oppenheimer de Opcode Systems, fue adoptado por la Midi
- Manufacturers Association. Empleando este formato los músicos
- pueden intercambiar secuencias sin tener en cuenta el tipo de
- ordenador que utilice cada uno (los Mac son más comunes en
- este campo que los PC's). SMF es también útil para compartir
- ficheros en redes, como CompuServe. Así, al igual que el
- estándar técnico MIDI permite que el hardware MIDI de
- distintos fabricantes se conecten sin problemas, el formato
- SMF permite compartir datos MIDI de distintas fuentes. Los
- ficheros SMF están compuestos de los denominados Chunks
- (montones). Los primeros 4 bytes comprenden un identificador
- ASCII (normalmente MThd para un chunk de cabecera y MTrk para
- uno de pista). Los siguientes 4 bytes componen un entero que
- define la longitud de la parte de datos del chunk, que va a
- continuación. De esta forma, un chunk cuyo byte de longitud
- es 6 ocupa 14 bytes en el fichero: 4 bytes de ID
- (identificador), 4 bytes de longitud y 6 bytes de datos. El
- chunk de cabecera contiene la información para interpretar
- los chunks de pista que le siguen. Los datos de cabecera
- consisten en tres cantidades de dos bytes: el formato, número
- de pistas y la división (especifica el tipo de control de
- tiempo que se va a utilizar en el fichero).
- Una pista consiste en un flujo secuencial de datos MIDI que
- puede contener información para un máximo de 16 canales. Un
- chunk de pista contiene los comandos y datos de una pista de
- una secuencia. Una determinada cantidad de chunks de pista
- creará así múltiples pistas, que pueden emplear múltiples
- salidas, modelos y secuencias MIDI.
-